package com.oamic.xiaomi.serverproject.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.oamic.xiaomi.serverproject.entity.FaultReport;

import java.util.List;

public interface FaultReportService extends IService<FaultReport> {
    
    /**
     * 获取所有故障报告
     * @return 故障报告列表
     */
    List<FaultReport> getAllFaultReports();
    
    /**
     * 根据ID获取故障报告
     * @param id 故障报告ID
     * @return 故障报告
     */
    FaultReport getFaultReportById(Long id);
    
    /**
     * 创建故障报告
     * @param faultReport 故障报告信息
     * @return 是否创建成功
     */
    boolean createFaultReport(FaultReport faultReport);
    
    /**
     * 更新故障报告
     * @param faultReport 故障报告信息
     * @return 是否更新成功
     */
    boolean updateFaultReport(FaultReport faultReport);
    
    /**
     * 删除故障报告
     * @param id 故障报告ID
     * @return 是否删除成功
     */
    boolean deleteFaultReport(Long id);
    
    /**
     * 更新故障处理状态
     * @param id 故障报告ID
     * @param status 处理状态
     * @param resolution 处理结果
     * @return 是否更新成功
     */
    boolean updateFaultStatus(Long id, FaultReport.FaultStatus status, String resolution);
}